#the general arm state msg
std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id

#arm id to specify the information belong to which arm
string id
#name of current arm
string arm_name

#arm mode
uint16 CONTROLLER_MODE = 0
uint16 MOVEIT_MODE = 1
uint16 FREE_MODE = 2

uint16 mode

#arm state
# state of robot:
#	1: RUNNING, executing motion command.
#	2: SLEEPING, not in execution, but ready to move.
#	3: PAUSED, paused in the middle of unfinished motion.
#	4: STOPPED, not ready for any motion commands.
#	5: CONFIG_CHANGED, system configuration or mode changed, not ready for motion commands.
uint16 RUNNING = 1
uint16 SLEEPING = 2
uint16 PAUSED = 3
uint16 STOPPED = 4
uint16 CONFIG_CHANGED = 5

uint16 state

#error code 
uint16 error_code

#joint name
#string[] joint_name
float32[] joint_angle

#tcp positon 
float32[6] tcp_position